Skip to main content

 Server

󰌽 UNIX-like

Understanding and learning about UNIX-like operating systems is crucial in today's digital age. These systems, which include popular distributions like Linux and BSD, form the backbone of many server environments, embedded systems, and even mobile devices.

UNIX-like systems are known for their robustness, flexibility, and transparency. They adhere to the UNIX philosophy of "doing one thing and doing it well," leading to a modular and efficient design. This makes them an excellent choice for many different applications, from running a personal website to powering a corporate data center.

By learning about UNIX-like systems, you gain a deeper understanding of how these systems work. This can help you better manage and navigate your digital environment, troubleshoot issues, and even contribute to open-source projects. As our world becomes increasingly digital, these skills will become ever more important.

Here are some examples of UNIX-like systems:

  • Linux: An open-source operating system that's used in everything from servers to smartphones.
  • BSD: A family of operating systems with a focus on features and performance.
  • Darwin: The basis for Apple's macOS, combining UNIX reliability with a user-friendly interface.

Each of these systems has its unique features and understanding them can give you greater control over your digital environment.

Systems Architecture

Core Folder Structure

  • /: The root directory.
  • /bin: Essential systems commands.
  • /etc: Systems configuration files.
  • /home: User home directories.
  • /lib: Systems libraries.
  • /mnt: Mount point for external devices.
  • /opt: Optional software packages.
  • /tmp: Temporary file storage.
  • /usr: User and systems programs.
  • /var: Variable systems data.

Core Programs

  • GRUB: GNU GRand Unified Bootloader
  • init or systemsd: Initialization systemss
  • SysVinit: Legacy init systems ...

GNU and Unix Commands

Basics

  • ls: List files and directories
  • cd: Change directory
  • mkdir: Create directories
  • rm: Remove files and directories
  • cp: Copy files and directories
  • mv: Move or rename files and directories
  • nano and vim: Text editors ...

File Manipulation

  • grep: Search text using patterns
  • find: Search for files and directories
  • sed: Stream editor for text manipulation
  • awk: Text processing tool
  • tee: Redirect output to multiple files ...

Permissions

  • chmod: Change file permissions
  • chown: Change file ownership ...

Distros and Package Management

Unix-like Distros

  • macOS: Apple's user-friendly OS.
  • FreeBSD: High-performance Unix-like systems.
  • OpenBSD: Focused on security.
  • Debian: Versatile and community-driven Linux.
  • Ubuntu: User-friendly Linux.
  • RHEL: Enterprise-focused Linux.
  • Fedora: Cutting-edge Linux.
  • Arch Linux: Minimalist and user-centric.
  • Linux Mint: Beginner-friendly Linux.
  • Kali linux: Pen-testing focused Linux ...

Package Managers

  • *dpkg & apt-get: Debian package manager
  • rpm: Red Hat Package Manager
  • yum: RPM-based package manager
  • dnf: Modern RPM-based package manager
  • zypper: Package manager for openSUSE ..

Devices, Linux Filesystemss, FHS

  • /dev: Directory containing device files
  • mount: Mount filesystemss
  • fstab: Configuration file for mounting filesystemss at boot
  • /proc and /sys: Virtual filesystemss for kernel and systems information
  • /etc/fstab: File containing filesystems configuration
  • du: Estimate file and directory space usage
  • df: Report filesystems disk space usage

Linux Networking

  • ifconfig: Configure network interfaces (deprecated, replaced by ip)
  • ip: Manage network interfaces and routing
  • netstat: Network statistics
  • ss: Another utility to investigate sockets
  • nslookup and dig: DNS troubleshooting tools
  • curl and wget: Retrieve data from the web
  • nc: Network utility for reading/writing data across network connections

Security

  • sudo: Privilege escalation tool
  • firewalld: Firewall management tool
  • ufw: Uncomplicated Firewall for easier firewall management
  • selinux: Security-Enhanced Linux for access control
  • AppArmor: Mandatory access control framework
  • OpenSSH: Secure remote communication
  • GPG: GNU Privacy Guard for encryption and authentication
  • fail2ban: Intrusion prevention systems
  • AIDE: Advanced Intrusion Detection Environment

Linux Maintenance Tasks

  • cron: Schedule and automate tasks
  • tar: Archive files
  • rsync: Remote file synchronization
  • journalctl: Query and view systems logs
  • at: Schedule one-time tasks
  • systemsctl: Control systems services
  • useradd and userdel: User account management
  • passwd: Change user passwords

Troubleshooting and Diagnostics

  • dmesg: Kernel ring buffer for hardware and systems messages
  • strace: Trace systems calls made by a process
  • lsof: List open files and processes
  • ps: List processes
  • top and htop: Monitor systems activity
  • netcat: Network utility for reading/writing data across network connections
  • iotop: Monitor I/O usage by processes
  • iftop: Display bandwidth usage on an interface
  • ncdu: Disk usage analyzer with an ncurses interface
  • vmstat: Virtual memory statistics
  • mpstat: Processor statistics
  • top: Systems and process monitor

App Distribution

Additional Resources

Certifications https://www.comptia.org/es/certificaciones/linux https://www.lpi.org/es/our-certifications/lpic-1-overview/

Learning Platforms https://www.itpro.tv/courses/

Content Creators @Networkchuck